This disclosure relates generally to natural language processing. More particularly, it relates to providing a natural language interface for a user to content managed by a data processing system.
Applications such as virtual agents and “chat bots” have been developed to provide a natural language interface to web content, apps and channels in retail, automotive, healthcare and other industries. These applications gather information through a written or spoken dialog with a user and assist the user with common tasks such as providing answers of frequently asked questions and helping a user complete an online transaction. Such conversational systems increase the accessibility of the web content and other documents as they interact with end users in natural languages. These types of chat bot applications offer great practical value to the organization hosting the web content or other documents in reducing the number of human help agents needed to answer questions about the documents and perform transactions and other requests on behalf of the user. These applications provide a friendlier interface for the organization.
However, it is a very challenging task to develop an artificial intelligence application for natural language based interaction with end users. One of the greatest challenges is generating the dialog flows to guide the conversation of the application. Human authored dialog flows are costly in time and money to develop. Despite the subject matter expertise and time that goes into these hand-crafted flows, users will often produce utterances which the system designers do not anticipate. One type of user utterance that is often not anticipated is an indirect utterance which may imply a particular user goal, but does not explicitly state what the user wants.
For example, “I am retired” may be a fact, but the same statement in the context of an insurance processing system could also imply that the user wants the retiree discount. Establishing a logical connection between the indirect utterance and a goal to get information or perform a transaction can be difficult. Words in the utterance may not directly match the goal. Furthermore, the goal may not be previously established in the dialogue.
Therefore, a method is needed in computer aided natural language processing to establish a logical connection between an indirect utterance and a dialogue goal so that more efficient dialogues can be supported.